package com.hxd.mall.utils.local

import android.content.Context
import android.widget.ImageView
import androidx.viewpager.widget.ViewPager
import com.hexin.locallibrary.banner.Banner
import com.hexin.locallibrary.banner.BannerConfig
import com.hexin.locallibrary.banner.Transformer
import com.hexin.locallibrary.banner.listener.OnBannerListener
import com.hexin.locallibrary.banner.loader.ImageLoader
import com.hxd.mall.R
import com.hxd.mall.utils.open.load

/**
 * Create by yinzhengwei on 2019/2/19
 * @Function 设置banner数据
 */

fun initBanner(
    banner_main: Banner,
    imageList: List<String>,
    onItemListener: OnBannerListener?,
    onPageChangeListener: ViewPager.OnPageChangeListener? = null,
    corner: Int? = 15,
    style: Int? = BannerConfig.CIRCLE_INDICATOR
) {
    banner_main.apply {
        //设置内置样式，共有六种可以点入方法内逐一体验使用。
        setBannerStyle(style ?: BannerConfig.CIRCLE_INDICATOR)
        //设置图片加载器，图片加载器在下方
        setImageLoader(object : ImageLoader() {
            override fun displayImage(context: Context, path: Any, imageView: ImageView) {
                //  val item = bean as HomeBean.DataBean.BannerLayoutBean.ResourcesBean
                imageView.load(path.toString(), isCache = false, corner = corner ?: 15)
//                    item.pictUri?.let { imageView.load(it, R.mipmap.banner, R.mipmap.banner) }
            }
        })
        if (onPageChangeListener != null)
            setOnPageChangeListener(onPageChangeListener)
        //设置图片网址或地址的集合
        //setImages(mBannerUrlList)
        update(imageList)

        //设置轮播的动画效果，内含多种特效，可点入方法内查找后内逐一体验
        setBannerAnimation(Transformer.Default)
        //设置轮播间隔时间
        setDelayTime(3000)
        //设置是否为自动轮播，默认是“是”。
        isAutoPlay(true)
        //设置指示器的位置，小点点，左中右。
        setIndicatorGravity(BannerConfig.CENTER)
        //以上内容都可写成链式布局，这是轮播图的监听。比较重要。方法在下面。
        if (onItemListener != null)
            setOnBannerListener(onItemListener)
        //必须最后调用的方法，启动轮播图。
        start()
    }
}
